package com.ruoyi.datam.service.impl;

import java.util.List;

import com.ruoyi.common.core.domain.base.datam.CmDeviceB;
import com.ruoyi.common.core.domain.base.datam.StCrossB;
import com.ruoyi.datam.mapper.CmDeviceBMapper;
import com.ruoyi.datam.mapper.StCrossBMapper;
import com.ruoyi.datam.mapper.StStationBMapper;
import com.ruoyi.datam.service.IStStationBService;
import com.ruoyi.datam.util.NumberUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.ruoyi.common.core.domain.base.datam.StStationB;

/**
 * 测站信息登记Service业务层处理
 *
 * @author hwd
 * @date 2023-02-16
 */
@Service
public class StStationBServiceImpl implements IStStationBService {
    @Autowired
    private StStationBMapper stStationBMapper;
    @Autowired
    private StCrossBMapper stCrossBMapper;
    @Autowired
    private CmDeviceBMapper cmDeviceBMapper;

    /**
     * 查询测站信息登记
     *
     * @param statCd 测站信息登记主键
     * @return 测站信息登记
     */
    @Override
    public StStationB selectStStationBByStatCd(String statCd) {
        return stStationBMapper.selectStStationBByStatCd(statCd);
    }

    /**
     * 查询测站信息登记列表
     *
     * @param stStationB 测站信息登记
     * @return 测站信息登记
     */
    @Override
    public List<StStationB> selectStStationBList(StStationB stStationB) {
        List<StStationB> stStationBS = stStationBMapper.selectStStationBList(stStationB);
//        for (StStationB vo : stStationBS) {
//            StCrossB stCrossB = stCrossBMapper.selectStCrossBByCrossCd(vo.getCrossCd());
//            if (stCrossB != null) {
//                vo.setCrossNm(stCrossB.getCrossNm());
//            }
//            CmDeviceB cmDeviceB = cmDeviceBMapper.selectCmDeviceBByDevCd(vo.getDevCd());
//            if (cmDeviceB != null) {
//                vo.setDevNm(cmDeviceB.getDevNm());
//            }
//        }
        return stStationBS;
    }

    /**
     * 新增测站信息登记
     *
     * @param stStationB 测站信息登记
     * @return 结果
     */
    @Override
    public int insertStStationB(StStationB stStationB) {
        int count = stStationBMapper.selectAllStStationBList(new StStationB()).size()+1;
        stStationB.setStatCd("STA"+stStationB.getCrossCd().substring(3,9)+ NumberUtil.geFourNumber(count,4));
        return stStationBMapper.insertStStationB(stStationB);
    }

    /**
     * 修改测站信息登记
     *
     * @param stStationB 测站信息登记
     * @return 结果
     */
    @Override
    public int updateStStationB(StStationB stStationB) {
        return stStationBMapper.updateStStationB(stStationB);
    }

    /**
     * 批量删除测站信息登记
     *
     * @param statCds 需要删除的测站信息登记主键
     * @return 结果
     */
    @Override
    public int deleteStStationBByStatCds(String[] statCds) {
        return stStationBMapper.deleteStStationBByStatCds(statCds);
    }

    /**
     * 删除测站信息登记信息
     *
     * @param statCd 测站信息登记主键
     * @return 结果
     */
    @Override
    public int deleteStStationBByStatCd(String statCd) {
        return stStationBMapper.deleteStStationBByStatCd(statCd);
    }
    @Override
    public List<StStationB> selectStStationBListByWaterType(StStationB stStationB) {
        return stStationBMapper.selectStStationBListByWaterType(stStationB);
    }

    @Override
    public List<StStationB> selStStationBByType(String[] statTypes) {
        return stStationBMapper.selStStationBByType(statTypes);
    }
}
